In software development, a test suite is a collection of test cases that are intended to be used to test a software program to show that it has some specified set of behaviors. A test suite often contains detailed instructions or goals for each collection of test cases and information on the system configuration to be used during testing.
Presently, there are many tools that allow application testing to be run on remotes stations in an automated manner. For example, continuous integration (CI) tools allow for the frequent integration of multiple software developers' work to a single application—typically multiple integrations per day. Each integration of the software developers' work is verified by the CI tools, including testing, to detect integration errors as quickly as possible. However, existing application testing suite tools, such as CI tools, are not completely integrated in the respect that excessive human interaction is usually required for attending to the automated tests. For example, human interaction for failure investigation and problem solving is often times needed.
In addition, no tools exist for the automated and unattended management of application testing suites. Such automated and unattended management of application testing suites would include oversight of test suite execution, resource management, error recovery, and test results submission into external tracking systems, for example. Presently, each of these functions of test suite execution, resource management, error recover, and test result submission into external tracking systems is controlled by separate systems and requires significant human interaction to integrate the functions together. As such, a tool for automated and unattended management of application testing suites would be beneficial.